package com.ssy.jt808.protocol.t808;

import com.ssy.jt808.protocol.basics.JTMessage;
import com.ssy.jt808.protocol.commons.JT808;
import com.ssy.netmc.core.model.Response;
import io.github.yezhihao.protostar.annotation.Field;
import io.github.yezhihao.protostar.annotation.Message;

/**
 * @author yezhihao
 * https://gitee.com/yezhihao/jt808-server
 */
@Message({ JT808.平台通用应答, JT808.终端通用应答 })
public class T8001 extends JTMessage implements Response{

    //成功、确认
    public static final int Success      = 0;
    //失败
    public static final int Failure      = 1;
    //消息有误
    public static final int MessageError = 2;
    //不支持
    public static final int NotSupport   = 3;
    //报警处理确认
    public static final int AlarmAck     = 4;

    @Field(length=2, desc="应答流水号")
    private int responseSerialNo;
    @Field(length=2, desc="应答ID")
    private int responseMessageId;
    @Field(length=1, desc="结果：0.成功 1.失败 2.消息有误 3.不支持 4.报警处理确认")
    private int resultCode;

    public int getResponseSerialNo(){
        return responseSerialNo;
    }

    public void setResponseSerialNo(int responseSerialNo) {
        this.responseSerialNo = responseSerialNo;
    }

    public int getResponseMessageId() {
        return responseMessageId;
    }

    public void setResponseMessageId(int responseMessageId) {
        this.responseMessageId = responseMessageId;
    }

    public int getResultCode() {
        return resultCode;
    }

    public void setResultCode(int resultCode) {
        this.resultCode = resultCode;
    }

    public boolean isSuccess() {
        return this.resultCode == Success;
    }
}